/* Die Klasse Vorgang ist eine abstrakte Klasse, die die Basis 
 * fuer alle Vorgaenge liefert, die im System durchgefuehrt werden 
 * koennen
 * 
 * Datei: Vorgang.java       	         Autor:   Antonia Wagner 
 * Datum: 05.11.11                     Version: 0.1 
 * 
 * Historie: 05.11.11 v0.1 von Autor erstellt  
 * 
 */
package personenverwaltung;

import java.io.Serializable;

public abstract class Vorgang implements Serializable
{
  private static final long serialVersionUID = -1012998830880958884L;

  protected Benutzer person;
  protected Datum datum;
  private boolean abgeschlossen;

  public Vorgang (Benutzer person)
  {
    this.setzePerson (person);
    Datum vorgangsDatum = new Datum (AktuellesDatum.gibTag (),
        AktuellesDatum.gibMonat (), AktuellesDatum.gibJahr ());
    this.setzeDatum (vorgangsDatum);
    abgeschlossen = false;
  }


  /**
   * 
   * @return den Benutzer, der diesem Vorgang zugeordnet ist
   */
  public Benutzer gibPerson ()
  {
    return person;
  }


  /**
   * 
   * @param person
   *          die diesem Vorgang zugeordnet ist
   */
  public void setzePerson (Benutzer person)
  {
    this.person = person;
  }


  /**
   * 
   * @return Datum, zu dem der Vorgang erzeugt wurde
   */
  public Datum gibDatum ()
  {
    return datum;
  }


  /**
   * 
   * @param datum
   *          zu dem der Vorgang erzeugt wurde
   */
  public void setzeDatum (Datum datum)
  {
    this.datum = datum;
  }


  /**
   * 
   * @return bool-Wert, ob der Vorgang abgeschlossen ist
   */
  public boolean istAbgeschlossen ()
  {
    return abgeschlossen;
  }


  /**
   * setzt den Vorgang auf abgeschlossen
   */
  public void setzeAbgeschlossen ()
  {
    abgeschlossen = true;
  }
}
